home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Electronics Plus 3
/
PC Electronics Plus 3.iso
/
63filtev
/
filtsub.lib
< prev
next >
Wrap
Text File
|
1996-03-14
|
21KB
|
754 lines
* Library of Filter Designer Subcircuits
* $Revision: 1.7 $
* $Author: TJB $
* $Date: 09 Jun 1993 08:05:40 $
*
*---------------------------------------------------------------
* ************ FILTER DESIGNER SUBCIRCUITS V 5.2 *************
*
* REV 6/26/92
* Copyright 1990-1992 by Crescendo
* Licensed and distributed by MicroSim Corporation
* Neither this library nor any part may be copied without the express
* writen consent of MicroSim Corporation
* This library file contains subcircuits which are used in netlists
* generated by the Filter Synthesis Option. The subcircuits include
* standard filter biquad topologies, such as Tow-Thomas and Sallen-Key
* stages, and are documented in the Filter Synthesis User's Guide.
* *********************************
* *********************************
* USER DEPENDENT ITEMS
* *********************************
* *********************************
*ATTENTION DESIGNERS OF RC BIQUAD FILTERS
* IN THE FOLLOWING RC BIQUAD MODELS THE OP AMP GAINS ARE SET TO 10000
* (80dB). FOR HI Q STAGES (Q> ~10) THE FINITE GAIN EFFECT WILL
* BECOME SIGNIFICANT AND THE GAIN PLOT WILL SHOW SOME DIFFERENCE
* FROM FILTER DESIGNER'S PLOT. THE DIFFERENCE CAN BE REDUCED BY
* INCREASING THE GAIN PARAMETER
* ATTENTION SCF DESIGNERS
* CHANGE THE PARAMS IN SUBCKT SWPAIR AND ISWPAIR(IMMEDIATELY BELOW)
* AS APPROPRIATE TO YOUR MFG PROCESS
* ALSO, THE MODELS N AND P BELOW ARE
* FOR A GENERIC 2UM CMOS PROCESS
* UNDOUBTABLY YOU'LL WANT TO REPLACE THEM
* WITH YOUR OWN MODELS
* *********************************
*$
* GROUNDED SWITCH PAIR (TRANSISTOR BASED)
.SUBCKT SWPAIR IN OUT AGND POS NEG PH1 PH1N PH2 PH2N
+ PARAMS: WN=4U LN=2U ADN=40P ASN=40P PDN=12U PSN=12U
+ WP=4U LP=2U ADP=40P ASP=40P PDP=12U PSP=12U
+ VTOP=-0.80 VTON=0.80 KPP=1E-5 KPN=2E-5
* MODELS FOR GENERIC CMOS PROCESS
.MODEL N NMOS LEVEL=1 VTO = {VTON} KP = {KPN}
.MODEL P PMOS LEVEL=1 VTO = {VTOP} KP = {KPP}
MN01 IN PH1 OUT NEG N L={LN} W={WN}
+ AD={ADN} AS={ASN} PD={PDN} PS={PSN}
MP01 IN PH1N OUT POS P L={LP} W={WP}
+ AD={ADP} AS={ASP} PD={PDP} PS={PSP}
MN02 OUT PH2 AGND NEG N L={LN} W={WN}
+ AD={ADN} AS={ASN} PD={PDN} PS={PSN}
MP02 OUT PH2N AGND POS P L={LP} W={WP}
+ AD={ADP} AS={ASP} PD={PDP} PS={PSP}
.ENDS
*$
* *********************************
* GROUNDED SWITCH PAIR (IDEALIZED SWITCH BASED)
.SUBCKT ISWPAIR IN OUT AGND POS NEG PH1 PH2
+ PARAMS: RON=1K ROFF=1.0E12 VON=4.0 VOFF=1.0
* SWITCH MODEL
.MODEL SMOD VSWITCH (RON={RON} ROFF={ROFF} VON={VON} VOFF={VOFF})
S1 IN OUT PH1 NEG SMOD
S2 OUT AGND PH2 NEG SMOD
.ENDS
*$
* *********************************
* *********************************
* RC BIQUAD STAGES
* *********************************
* *********************************
* *********************************
*$
* FIRST ORDER RC STAGE
.SUBCKT LIN/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1
+ GAIN=10000
C1 IN N1 {C1VAL}
C2 N1 OUT {C2VAL}
R1 IN N1 {R1VAL}
R2 N1 OUT {R2VAL}
EAMP1 OUT AGND VALUE={V(AGND,N1)*GAIN}
.ENDS
*$
* *********************************
* TOW-THOMAS BIQUAD STAGE
.SUBCKT TT/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1
+ R4VAL=1 R5VAL=1 R6VAL=1 R7VAL=1 R8VAL=1
+ GAIN=10000
C1 N1 A1 {C1VAL}
C2 N3 A3 {C2VAL}
R1 N1 A1 {R1VAL}
R2 OUT N3 {R2VAL}
R3 N1 A3 {R3VAL}
R4 IN N1 {R4VAL}
R5 IN N3 {R5VAL}
R6 IN N2 {R6VAL}
R7 A1 N2 {R7VAL}
R8 N2 OUT {R8VAL}
EAMP1 A1 AGND VALUE={V(AGND,N1)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND,N2)*GAIN}
EAMP3 A3 AGND VALUE={V(AGND,N3)*GAIN}
.ENDS
*$
* *********************************
* AKERBERG-MOSSBERG BIQUAD STAGE
.SUBCKT AM/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 C3VAL=1 R1VAL=1 R2VAL=1 R3VAL=1
+ R4VAL=1 R5VAL=1 R6VAL=1 R7VAL=1 R8VAL=1
+ GAIN=10000
C1 N1 A2 {C1VAL}
C2 N3 OUT {C2VAL}
C3 IN N3 {C3VAL}
R1 N2 A2 {R1VAL}
R2 A1 N2 {R2VAL}
R3 A1 N3 {R3VAL}
R4 IN N3 {R4VAL}
R5 IN N2 {R5VAL}
R6 N3 OUT {R6VAL}
R7 N1 OUT {R7VAL}
R8 IN N1 {R8VAL}
EAMP1 A1 AGND VALUE={V(N1, AGND)*GAIN}
EAMP2 A2 AGND VALUE={V(AGND,N2)*GAIN}
EAMP3 OUT AGND VALUE={V(AGND,N3)*GAIN}
.ENDS
*$
* *********************************
* KHN BIQUAD STAGE - LOW PASS CASE
.SUBCKT KHNLP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1
+ R4VAL=1 R5VAL=1 R6VAL=1
+ GAIN=10000
C1 N2 A2 {C1VAL}
C2 N3 A3 {C2VAL}
R1 A1 N2 {R1VAL}
R2 A2 N3 {R2VAL}
R3 IN N4 {R3VAL}
R4 N4 A2 {R4VAL}
R5 A3 N1 {R5VAL}
R6 N1 A1 {R6VAL}
EAMP1 A1 AGND VALUE={V(N4, N1)*GAIN}
EAMP2 A2 AGND VALUE={V(AGND,N2)*GAIN}
EAMP3 A3 AGND VALUE={V(AGND,N3)*GAIN}
RX A3 OUT 1
.ENDS
*$
* *********************************
* KHN BIQUAD STAGE - HIGH PASS CASE
.SUBCKT KHNHP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1
+ R4VAL=1 R5VAL=1 R6VAL=1
+ GAIN=10000
C1 N2 A2 {C1VAL}
C2 N3 A3 {C2VAL}
R1 A1 N2 {R1VAL}
R2 A2 N3 {R2VAL}
R3 IN N4 {R3VAL}
R4 N4 A2 {R4VAL}
R5 A3 N1 {R5VAL}
R6 N1 A1 {R6VAL}
EAMP1 A1 AGND VALUE={V(N4, N1)*GAIN}
EAMP2 A2 AGND VALUE={V(AGND,N2)*GAIN}
EAMP3 A3 AGND VALUE={V(AGND,N3)*GAIN}
RX A1 OUT 1
.ENDS
*$
* *********************************
* KHN BIQUAD STAGE - BAND PASS CASE
.SUBCKT KHNBP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1
+ R4VAL=1 R5VAL=1 R6VAL=1
+ GAIN=10000
C1 N2 A2 {C1VAL}
C2 N3 A3 {C2VAL}
R1 A1 N2 {R1VAL}
R2 A2 N3 {R2VAL}
R3 IN N4 {R3VAL}
R4 N4 A2 {R4VAL}
R5 A3 N1 {R5VAL}
R6 N1 A1 {R6VAL}
EAMP1 A1 AGND VALUE={V(N4, N1)*GAIN}
EAMP2 A2 AGND VALUE={V(AGND,N2)*GAIN}
EAMP3 A3 AGND VALUE={V(AGND,N3)*GAIN}
RX A2 OUT 1
.ENDS
*$
* *********************************
* LP SALLEN-KEY KRC BIQUAD STAGE
.SUBCKT SKKRCLP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1 R4VAL=1
+ GAIN=10000
R1 IN N1 {R1VAL}
R2 N1 N2 {R2VAL}
R3 N3 AGND {R3VAL}
R4 N3 OUT {R4VAL}
C1 N1 OUT {C1VAL}
C2 N2 AGND {C2VAL}
EAMP OUT AGND VALUE={V(N2, N3)*GAIN}
.ENDS
*$
* *********************************
* HP SALLEN-KEY KRC BIQUAD STAGE
.SUBCKT SKKRCHP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1 R4VAL=1
+ GAIN=10000
R1 N1 OUT {R1VAL}
R2 N2 AGND {R2VAL}
R3 N3 AGND {R3VAL}
R4 N3 OUT {R4VAL}
C1 IN N1 {C1VAL}
C2 N1 N2 {C2VAL}
EAMP OUT AGND VALUE={V(N2, N3)*GAIN}
.ENDS
*$
* *********************************
* LP MULTI-LOOP FEEDBACK BIQUAD STAGE
.SUBCKT MLFLP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1
+ GAIN=10000
R1 IN N1 {R1VAL}
R2 N1 OUT {R2VAL}
R3 N1 N2 {R3VAL}
C1 N1 AGND {C1VAL}
C2 N2 OUT {C2VAL}
EAMP OUT AGND VALUE={V(AGND, N2)*GAIN}
.ENDS
*$
* *********************************
* ALL PASS MULTI-LOOP FEEDBACK BIQUAD STAGE
.SUBCKT MLFAP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1 R4VAL=1
+ GAIN=10000
R1 IN N1 {R1VAL}
C2 N1 OUT {C2VAL}
C1 N1 N2 {C1VAL}
R2 N2 OUT {R2VAL}
R3 IN N3 {R3VAL}
R4 N3 AGND {R4VAL}
EAMP OUT AGND VALUE={V(N3, N2)*GAIN}
.ENDS
*$
* *********************************
* HP MULTI-LOOP FEEDBACK BIQUAD STAGE
.SUBCKT MLFHP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 C3VAL=1 R1VAL=1 R2VAL=1
+ GAIN=10000
C1 IN N1 {C1VAL}
C2 N1 OUT {C2VAL}
C3 N1 N2 {C3VAL}
R1 N1 AGND {R1VAL}
R2 N2 OUT {R2VAL}
EAMP OUT AGND VALUE={V(AGND, N2)*GAIN}
.ENDS
*$
* *********************************
* BP MULTI-LOOP FEEDBACK BIQUAD STAGE
.SUBCKT MLFBP/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1
+ GAIN=10000
R1 IN N1 {R1VAL}
C2 N1 OUT {C2VAL}
C1 N1 N2 {C1VAL}
R3 N1 AGND {R3VAL}
R2 N2 OUT {R2VAL}
EAMP OUT AGND VALUE={V(AGND, N2)*GAIN}
.ENDS
*$
* *********************************
* DELIYANNIS-FRIEND BIQUAD STAGE
.SUBCKT DF/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1 R4VAL=1 R5VAL=1
+ GAIN=10000
R1 IN N1 {R1VAL}
C2 N1 OUT {C2VAL}
C1 N1 N2 {C1VAL}
R3 N1 AGND {R3VAL}
R2 N2 OUT {R2VAL}
R4 N3 AGND {R4VAL}
R5 N3 OUT {R5VAL}
EAMP OUT AGND VALUE={V(N3, N2)*GAIN}
.ENDS
*$
* *********************************
* GENERAL MULTI-LOOP FEEDBACK BIQUAD STAGE
.SUBCKT MLFBQ/STG IN OUT AGND
+ PARAMS: C1VAL=1 C2VAL=1 R1VAL=1 R2VAL=1 R3VAL=1 R4VAL=1 R5VAL=1
+ R6VAL=1 R7VAL=1 R8VAL=1
+ GAIN=10000
R1 IN N1 {R1VAL}
C2 N1 OUT {C2VAL}
C1 N1 N2 {C1VAL}
R4 N1 AGND {R4VAL}
R2 N2 OUT {R2VAL}
R3 IN N2 {R3VAL}
R8 IN N3 {R8VAL}
R5 N2 AGND {R5VAL}
R6 N3 AGND {R6VAL}
R7 N3 OUT {R7VAL}
EAMP OUT AGND VALUE={V(N3, N2)*GAIN}
.ENDS
*$
* *********************************
* *********************************
* *********************************
* SCF STAGES - CMOS TRANSISTOR SWITCHES
* *********************************
* *********************************
* *********************************
*$
* FIRST ORDER LP SCF STAGE
.SUBCKT LINT/STG IN OUT AGND POS NEG CLK1 CLK1N CLK2 CLK2N
+ PARAMS: C1VAL=1P C2VAL=1P C3VAL=1P CAVAL=10P
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW3 OUT N4 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
C1 IN N3 {C1VAL}
C2 N1 N2 {C2VAL}
C3 N2 N4 {C3VAL}
RDUM N3 AGND 100MEG
CA OUT N3 {CAVAL}
* THIS SOMEWHAT COMPLEX AMP STRUCTURE GREATLY AIDS DC CONVERGENCE
VSCALE N5 AGND 1
RSCALE N5 AGND 1MEG
CSCALE N5 AGND 1P
EAMP1 OUT AGND VALUE={V(AGND, N3)*V(AGND, N5)*GAIN}
.ENDS
*$
* *********************************
* FIRST ORDER HP SCF STAGE
.SUBCKT LINHPT/STG IN OUT AGND POS NEG CLK1 CLK1N CLK2 CLK2N
+ PARAMS: C1VAL=1P C2VAL=1P CAVAL=10P
+ GAIN=5000
XSW1 N1 N2 AGND POS NEG CLK1 CLK1N CLK2 CLK2N SWPAIR
XSW2 OUT N3 AGND POS NEG CLK1 CLK1N CLK2 CLK2N SWPAIR
C1 IN N1 {C1VAL}
C2 N2 N3 {C2VAL}
CA OUT N1 {CAVAL}
* THIS SOMEWHAT COMPLEX AMP STRUCTURE GREATLY AIDS DC CONVERGENCE
VSCALE N5 AGND 1
RSCALE N5 AGND 1MEG
EAMP1 OUT AGND VALUE={V(AGND, N1)*V(AGND, N5)*GAIN}
.ENDS
*$
* *********************************
* LO Q BIQUAD SCF STAGE
.SUBCKT LOQT/STG IN OUT AGND POS NEG CLK1 CLK1N CLK2 CLK2N
+ PARAMS: C1VAL=1P C2VAL=1P C3VAL=1P C4VAL=1P
+ C5VAL=1P C6VAL=1P CAVAL=10P CBVAL=10P
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK1N CLK2 CLK2N SWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N5 N7 {C4VAL}
C5 N1 N5 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N8 AGND 1
RSCALE N8 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N8)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N8)*GAIN}
.ENDS
*$
*
* *********************************
* HI Q BIQUAD SCF STAGE
.SUBCKT HIQT/STG IN OUT AGND POS NEG CLK1 CLK1N CLK2 CLK2N
+ PARAMS: C1VAL=1P C2VAL=1P C3VAL=1P C4VAL=1P
+ C5VAL=1P C6VAL=1P CAVAL=10P CBVAL=10P
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK1N CLK2 CLK2N SWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N3 OUT {C4VAL}
C5 IN N3 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N8 AGND 1
RSCALE N8 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N8)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N8)*GAIN}
.ENDS
*$
* *********************************
* LO Q ALL PASS BIQUAD SCF STAGE
.SUBCKT LOQAPT/STG IN OUT AGND POS NEG CLK1 CLK1N CLK2 CLK2N
+ PARAMS: C1VAL=1P C2VAL=1P C3VAL=1P C4VAL=1P
+ C5VAL=1P C6VAL=1P CAVAL=10P CBVAL=10P
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK1N CLK2 CLK2N SWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW6 IN N8 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N5 N7 {C4VAL}
C5 N5 N8 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N9 AGND 1
RSCALE N9 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N9)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N9)*GAIN}
.ENDS
*$
* *********************************
* HI Q ALL PASS BIQUAD SCF STAGE
.SUBCKT HIQAPT/STG IN OUT AGND POS NEG CLK1 CLK1N CLK2 CLK2N
+ PARAMS: C1VAL=1P C2VAL=1P C3VAL=1P C4VAL=1P
+ C5VAL=1P C6VAL=1P CAVAL=10P CBVAL=10P
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK1N CLK2 CLK2N SWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
XSW6 IN N8 AGND POS NEG CLK2 CLK2N CLK1 CLK1N SWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N3 OUT {C4VAL}
C5 N5 N8 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N9 AGND 1
RSCALE N9 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N9)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N9)*GAIN}
.ENDS
*$
* *********************************
* SCF STAGES - IDEALIZED SWITCHES
* *********************************
*$
* FIRST ORDER LP SCF STAGE
.SUBCKT LINS/STG IN OUT AGND POS NEG CLK1 CLK2
+ PARAMS: C1VAL=1 C2VAL=1 C3VAL=1 CAVAL=1
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW3 OUT N4 AGND POS NEG CLK2 CLK1 ISWPAIR
C1 IN N3 {C1VAL}
C2 N1 N2 {C2VAL}
C3 N2 N4 {C3VAL}
CA OUT N3 {CAVAL}
VSCALE N5 AGND 1
RSCALE N5 AGND 1MEG
EAMP1 OUT AGND VALUE={V(AGND, N3)*V(AGND, N5)*GAIN}
.ENDS
*$
* *********************************
* FIRST ORDER HP SCF STAGE
.SUBCKT LINHPS/STG IN OUT AGND POS NEG CLK1 CLK2
+ PARAMS: C1VAL=1 C2VAL=1 CAVAL=1
+ GAIN=5000
XSW1 N1 N2 AGND POS NEG CLK1 CLK2 ISWPAIR
XSW2 OUT N3 AGND POS NEG CLK1 CLK2 ISWPAIR
C1 IN N1 {C1VAL}
C2 N2 N3 {C2VAL}
CA OUT N1 {CAVAL}
VSCALE N5 AGND 1
RSCALE N5 AGND 1MEG
EAMP1 OUT AGND VALUE={V(AGND, N1)*V(AGND, N5)*GAIN}
.ENDS
*$
* *********************************
* LO Q BIQUAD SCF STAGE
.SUBCKT LOQS/STG IN OUT AGND POS NEG CLK1 CLK2
+ PARAMS: C1VAL=1 C2VAL=1 C3VAL=1 C4VAL=1
+ C5VAL=1 C6VAL=1 CAVAL=1 CBVAL=1
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK2 ISWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK1 ISWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N5 N7 {C4VAL}
C5 N1 N5 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N8 AGND 1
RSCALE N8 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N8)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N8)*GAIN}
.ENDS
*$
* *********************************
* HI Q BIQUAD SCF STAGE
.SUBCKT HIQS/STG IN OUT AGND POS NEG CLK1 CLK2
+ PARAMS: C1VAL=1 C2VAL=1 C3VAL=1 C4VAL=1
+ C5VAL=1 C6VAL=1 CAVAL=1 CBVAL=1
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK2 ISWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK1 ISWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N3 OUT {C4VAL}
C5 IN N3 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N8 AGND 1
RSCALE N8 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N8)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N8)*GAIN}
.ENDS
*$
* *********************************
* LO Q ALL PASS BIQUAD SCF STAGE
.SUBCKT LOQAPS/STG IN OUT AGND POS NEG CLK1 CLK2
+ PARAMS: C1VAL=1 C2VAL=1 C3VAL=1 C4VAL=1
+ C5VAL=1 C6VAL=1 CAVAL=1 CBVAL=1
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK2 ISWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW6 IN N8 AGND POS NEG CLK2 CLK1 ISWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N5 N7 {C4VAL}
C5 N5 N8 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N9 AGND 1
RSCALE N9 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N9)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N9)*GAIN}
.ENDS
*$
* *********************************
* HI Q ALL PASS BIQUAD SCF STAGE
.SUBCKT HIQAPS/STG IN OUT AGND POS NEG CLK1 CLK2
+ PARAMS: C1VAL=1 C2VAL=1 C3VAL=1 C4VAL=1
+ C5VAL=1 C6VAL=1 CAVAL=1 CBVAL=1
+ GAIN=5000
XSW1 IN N1 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW2 N3 N2 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW3 MID N4 AGND POS NEG CLK1 CLK2 ISWPAIR
XSW4 N6 N5 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW5 OUT N7 AGND POS NEG CLK2 CLK1 ISWPAIR
XSW6 IN N8 AGND POS NEG CLK2 CLK1 ISWPAIR
C1 N1 N2 {C1VAL}
C2 N2 N7 {C2VAL}
C3 N4 N5 {C3VAL}
C4 N3 OUT {C4VAL}
C5 N5 N8 {C5VAL}
C6 IN N6 {C6VAL}
CA N3 MID {CAVAL}
CB N6 OUT {CBVAL}
VSCALE N9 AGND 1
RSCALE N9 AGND 1MEG
EAMP1 MID AGND VALUE={V(AGND, N3)*V(AGND, N9)*GAIN}
EAMP2 OUT AGND VALUE={V(AGND, N6)*V(AGND, N9)*GAIN}
.ENDS
*$
* *********************************
* *********************************
* LC LADDER BRANCHES
* *********************************
* *********************************
* RDUM1 PREVENTS DC CONV. (INDUCTOR LOOP) PROBLEMS
* RDUM2 PREVENTS DC CONV. (OPEN CIRCUIT) PROBLEMS
* BOTH ARE "DUMMIES", IE, NOT PART OF THE REAL LC NET
* *********************************
*$
* CONFIG 1 - SIMPLE CAPACITOR
.SUBCKT LC1/BR T1 T2
+ PARAMS: C1VAL=1 RSCALE=50
C1 T1 T2 {C1VAL}
RDUM2 T1 T2 {1.0E5*RSCALE}
.ENDS
*$
* *********************************
* CONFIG 2 - SIMPLE INDUCTOR
.SUBCKT LC2/BR T1 T2
+ PARAMS: L1VAL=1 RSCALE=50
L1 T1 T2 {L1VAL}
RDUM2 T1 T2 {1.0E5*RSCALE}
.ENDS
*$
* *********************************
* CONFIG 3 - SERIES C & L
.SUBCKT LC3/BR T1 T2
+ PARAMS: C1VAL=1 L1VAL=1 RSCALE=50
C1 T1 N1 {C1VAL}
L1 N1 T2 {L1VAL}
RDUM2 T1 T2 {1.0E5*RSCALE}
.ENDS
*$
* *********************************
* CONFIG 4 - PARALLEL C & L
.SUBCKT LC4/BR T1 T2
+ PARAMS: C1VAL=1 L1VAL=1 RSCALE=50
RDUM1 T1 N1 {1E-5*RSCALE}
C1 N1 T2 {C1VAL}
L1 N1 T2 {L1VAL}
RDUM2 T1 T2 {1.0E5*RSCALE}
.ENDS
*$
* *********************************
* CONFIG 5 - SERIES OF TWO PARALLEL LC TANKS
.SUBCKT LC5/BR T1 T2
+ PARAMS: C1VAL=1 C2VAL=1 L1VAL=1 L2VAL=1 RSCALE=50
RDUM1 T1 N0 {1E-5*RSCALE}
C1 N0 N1 {C1VAL}
L1 N0 N1 {L1VAL}
C2 N1 T2 {C2VAL}
L2 N1 T2 {L2VAL}
RDUM2 T1 T2 {1.0E5*RSCALE}
.ENDS
*$
* *********************************
* CONFIG 6 - SERIES LC IN PARALLEL WITH LC TANK
.SUBCKT LC6/BR T1 T2
+ PARAMS: C1VAL=1 C2VAL=1 L1VAL=1 L2VAL=1 RSCALE=50
C1 T1 N1 {C1VAL}
L1 N1 T2 {L1VAL}
C2 T1 T2 {C2VAL}
L2 T1 T2 {L2VAL}
RDUM2 T1 T2 {1.0E5*RSCALE}
.ENDS
*$
* *********************************
* CONFIG 7 - SERIES LC IN SERIES WITH LC TANK
.SUBCKT LC7/BR T1 T2
+ PARAMS: C1VAL=1 C2VAL=1 L1VAL=1 L2VAL=1 RSCALE=50
C1 T1 N1 {C1VAL}
L1 N1 N2 {L1VAL}
C2 N2 T2 {C2VAL}
L2 N2 T2 {L2VAL}
RDUM2 T1 T2 {1.0E5*RSCALE}
.ENDS
*$
* *********************************
* *********************************
* *********************************